In a typical mobile device, there are an increasing number of competing software applications, each with different memory requirements, caching policies and memory management requirements. Such mobile devices may include cellular telephones, two-way paging devices, personal digital assistants, and/or other devices having similar memory constraints.
In accordance with the teachings described herein, systems and methods are provided for managing memory on a mobile device. A maximum amount of available data storage memory may be allocated for storing data for each of a plurality of software applications loaded on the mobile device. If additional memory is needed for an executing software application, then one of the plurality of software applications may be selected for memory clean-up. Data may then be deleted from the data storage memory allocated to the selected software application in accordance with a pre-established memory retention policy for the selected software application.